package org.nekperu15739.me.persistencejpa.dao.interfaces;

import java.io.Serializable;
import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

/**
 * Interface Dao, para todas las operaciones basicar CRUD en todos los dao's
 * genericos que usen JPA
 * 
 * @author charly
 * 
 * @param <E>
 */
public interface Dao<E, ID extends Serializable> extends JpaRepository<E, ID> {

    E select(E entity);

    List<E> selectList();

    void insert(E entity);

    E update(E entity);

    void delete(E entity);

    void flush();
}